各种能力
检测操作系统并设置API URL
public static string BaseAddress = DeviceInfo.Platform == DevicePlatform.Android ? "http://10.0.2.2:5000" : "http://localhost:5000";
public static string TodoItemsUrl = $"{BaseAddress}/api/todoitems/";
另外可以使用 OnPlatform 标记扩展
<VerticalStackLayout>
<VerticalStackLayout.Padding>
<OnPlatform x:TypeArguments="Thickness">
<On Platform="iOS" Value="30,60,30,30" />
</OnPlatform>
</VerticalStackLayout.Padding>
<!--XAML for other controls goes here -->
...
</VerticalStackLayout>
测试是否有网络
要检查 .NET MAUI 应用中的网络连接,请使用 Connectivity 类。 该类公开了一个名为 NetworkAccess 的属性和一个名为 ConnectivityChanged 的事件。 可以使用这些成员来检测网络中的变化。
if (Connectivity.Current.NetworkAccess == NetworkAccess.None)
{
...
}
还能够通过 ConnectivityChanged 事件确定设备是否已连接到 Internet。 ConnectivityChanged 事件会在网络状态发生变化时自动触发。
Connectivity.Current.ConnectivityChanged += Connectivity_ConnectivityChanged;
...
void Connectivity_ConnectivityChanged(object sender, ConnectivityChangedEventArgs e)
{
bool stillConnected = e.IsConnected;
}
有关在 iOS 应用中保存数据的指南
Apple 提供关于文件存储位置的 iOS 指南。 有两个主文件夹位置:
Library 文件夹:如前所述,FileSystem.AppDataDirectory 属性返回此文件夹。 存储应用生成的数据时,使用 Library 文件夹。
Documents 文件夹:以下代码段演示如何在 docFolder 变量中引用此文件夹。 仅将 Documents 文件夹用于存储用户生成的数据。 此数据是直接响应用户操作而创建的。 例如,如果要创建 Microsoft Word 等文本编辑应用程序,则将文档存储在 Documents 文件夹中。
string docFolder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);